package cn.iocoder.yudao.module.erp.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;
public interface ErrorCodeConstants{
    //  供应商模块的错误码
    ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(2_001_001_000, "供应商不存在");
    //   客户模块的错误码
    ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(2_001_002_000, "客户不存在");
    ErrorCode SUPPLIER_IMPORT_LIST_IS_EMPTY = new ErrorCode(2_001_002_001, "导入供应商数据不能为空");
    ErrorCode SUPPLIER_SUPPLIERNAME_EXISTS = new ErrorCode(2_001_002_001, "供应商账号已存在");

    // 供应商分组模块错误码
    ErrorCode SUPPLIER_GROUP_NOT_EXISTS = new ErrorCode(2_001_003_000, "供应商分组不存在");
    ErrorCode CUSTOMER_GROUP_NOT_EXISTS = new ErrorCode(2_001_003_001, "客户分组不存在");
    //客户级别管理错误码
    ErrorCode VIP_NOT_EXISTS = new ErrorCode(2_001_004_000, "客户级别不存在");
    // 物品类目不存在
    ErrorCode CATEGORY_NOT_EXISTS = new ErrorCode(2_001_005_000, "物品类目不存在");
    ErrorCode CATEGORY_EXISTS_SON = new ErrorCode(2_001_005_001,"存在子类目无法删除");
    ErrorCode CATEGORY_NAME_DUPLICATE = new ErrorCode(2_001_005_002, "已经存在该名字的类目");

    // 物品库模块错误码
    ErrorCode GOODS_NOT_EXISTS = new ErrorCode(2_001_006_000, "物品不存在");
    ErrorCode GOODS_GOODSNAME_EXISTS = new ErrorCode(2_001_006_001, "物品名称重复");
    ErrorCode GOODS_GOODSCODE_EXISTS = new ErrorCode(2_001_006_002, "物品编号重复");
    ErrorCode GOODS_IMPORT_EXCEL_DATA_EMPTY = new ErrorCode(2_001_006_003, "物品导入Excel数据不存在");
    ErrorCode GOODS_CODE_IS_EMPTY = new ErrorCode(2_001_006_004, "物品编号为空");
    ErrorCode GOODS_CONVERT_FAIL = new ErrorCode(2_001_006_005, "物品转换失败");
    ErrorCode GOODS_LIST_EMPTY = new ErrorCode(2_001_006_006, "物品集合为空");
    // 仓库
    ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(2_001_007_000, "仓库不存在");
    ErrorCode WAREHOUSE_ID_NOT_EXISTS = new ErrorCode(2_001_007_000, "仓库id不存在");
    // 物品与仓库关联关系不存在
    ErrorCode GOODS_WAREHOUSE_LINK_NOT_EXISTS = new ErrorCode(2_001_007_001, "物品与仓库关联关系不存在");
    ErrorCode WAREHOUSE_NAME_IS_EMPTY = new ErrorCode(2_001_007_002, "仓库名称为空");
    ErrorCode BOM_NOT_EXISTS = new ErrorCode(2_001_008_002, "物品与仓库关联关系不存在");
    //工序管理
    ErrorCode PRODUCE_PROCESS_NOT_EXISTS = new ErrorCode(2_001_009_000, "工序不存在");
    //工作中心管理
    ErrorCode PRODUCE_WORK_NOT_EXISTS = new ErrorCode(2_001_010_000, "工作中心不存在");
    // 销售模块
    ErrorCode SALE_ORDER_NOT_EXISTS = new ErrorCode(2_001_011_000, "销售订单不存在");
    ErrorCode SALEORDERGOODS_NOT_EXIST = new ErrorCode(2_001_011_001, "销售订单没有物品");
    ErrorCode SALE_ORDER_IMPORT_LIST_IS_EMPTY = new ErrorCode(2_001_011_002, "导入销售订单数据为空");
    ErrorCode SALE_ORDER_EXISTS = new ErrorCode(2_001_011_003, "销售订单已存在");
    ErrorCode SALE_ORDER_NO_EXISTS = new ErrorCode(2_001_011_004, "销售订单号已存在");
    // 报价方式
    ErrorCode ORDER_QUOTATION_NOT_EXISTS = new ErrorCode(2_001_012_000, "报价方式不存在");
    // 结算方式
    ErrorCode ORDER_METHOD_NOT_EXISTS = new ErrorCode(2_001_013_000, "结算方式不存在");
    // 交付地址
    ErrorCode ORDER_ADDRESS_NOT_EXISTS = new ErrorCode(2_001_014_000, "交付地址不存在");
    ErrorCode ORDER_ADDRESS_NOT_UNIQUE = new ErrorCode(2_001_014_001, "常用交付地址已存在");

    // 交货方式
    ErrorCode ORDER_DELIVERY_NOT_EXISTS = new ErrorCode(2_001_015_000, "交货方式不存在");
    // 发票类型
    ErrorCode TAX_BILL_NOT_EXISTS = new ErrorCode(2_001_016_000, "发票类型不存在");
    // 税率
    ErrorCode TAX_RATE_NOT_EXISTS = new ErrorCode(2_001_017_000, "税率不存在");
    ErrorCode TAX_RATE_NOT_UNIQUE = new ErrorCode(2_001_017_001, "常用税率已存在");

    // 项目
    ErrorCode ORDER_PROJECT_NOT_EXISTS = new ErrorCode(2_001_018_000, "项目不存在");
    // 序列号不存在
    ErrorCode SEQUENCE_NOT_EXISTS = new ErrorCode(2_001_019_000, "序列号不存在");
    // 单位
    ErrorCode ORDER_UNIT_NOT_EXISTS = new ErrorCode(2_001_020_000, "单位不存在");
    // 资金账户
    ErrorCode MONEY_ACCOUNT_NOT_EXISTS = new ErrorCode(2_001_021_000, "资金账户不存在");
    // 收入类型
    ErrorCode MONEY_INCOME_NOT_EXISTS = new ErrorCode(2_001_022_000, "收入类型不存在");
    // 支出类型
    ErrorCode MONEY_OUTCOME_NOT_EXISTS = new ErrorCode(2_001_023_000, "支出类型不存在");
    // 收/付款方式
    ErrorCode MONEY_METHOD_NOT_EXISTS = new ErrorCode(2_001_024_000, "收/付款方式不存在");
    // 付款单位
    ErrorCode MONEY_PAYUNIT_NOT_EXISTS = new ErrorCode(2_001_025_000, "付款单位不存在");
    // 不良品项
    ErrorCode DEFECTIVE_ITEMS_NOT_EXISTS = new ErrorCode(2_001_026_000, "不良品项不存在");
    // 出入库模块
    ErrorCode SALE_OUT_NOT_EXISTS = new ErrorCode(2_001_027_000, "销售出库单不存在");
    ErrorCode SALE_OUT_NO_EXISTS = new ErrorCode(2_001_027_001, "销售出库单号已存在");
    ErrorCode SALE_OUT_NO_GOODS_LINKED = new ErrorCode(2_001_027_002, "该物品在销售订单中不存在");
    ErrorCode SALE_OUT_NOT_SALE_ORDER = new ErrorCode(2_001_027_003, "销售出库单没有对应的销售订单");
    ErrorCode SALE_OUT_NUMBER_ABOVE_SALE = new ErrorCode(2_001_027_004, "出库数量超出销售订单所需数量");
    ErrorCode SALE_OUT_NUMBER_ABOVE_INVENTORY = new ErrorCode(2_001_027_005, "出库数量超出库存");
    ErrorCode SALE_OUT_GOODS_EMPTY = new ErrorCode(2_001_027_006, "出库单物品为空");
    ErrorCode SALE_OUT_WAREHOUSE_NOT_FOUND = new ErrorCode(2_001_027_007, "仓库中无法找到对应的物品");
    ErrorCode SALE_OUT_AMOUNT_NOT_FOUND = new ErrorCode(2_001_027_008, "没有传入金额");


    // 采购模块
    ErrorCode PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(2_001_028_001, "采购订单不存在");
    ErrorCode PURCHASE_ORDER_NO_EXISTS = new ErrorCode(2_001_028_001, "采购订单号已存在");
    ErrorCode PURCHASE_ORDER_GOODS_EMPTY = new ErrorCode(2_001_030_004, "采购单中没有该物品，请检查采购单");

    // 通用模块
    ErrorCode UNIQUE_BEANNAME_NOT_EXISTS = new ErrorCode(2_001_029_001, "beanName不存在，一般是UniqueXXXNo");

    // 采购出库模块
    ErrorCode PURCHASE_IN_NOT_EXISTS = new ErrorCode(2_001_030_001, "采购入库单不存在");
    ErrorCode PURCHASE_IN_NO_EXISTS = new ErrorCode(2_001_030_002, "采购入库单号已存在");
    ErrorCode PURCHASE_IN_NUMBER_ABOVE_NEED = new ErrorCode(2_001_030_003, "采购入库数量超出采购订单所需数量");
    ErrorCode PURCHASE_IN_GOODS_EMPTY = new ErrorCode(2_001_030_004, "入库单物品为空");
    ErrorCode PURCHASE_IN_WAREHOUSE_NOT_FOUND = new ErrorCode(2_001_030_005, "仓库中无法找到对应的物品");


    // 财务模块
    // 财务收入模块
    ErrorCode FINANCE_IN_NOT_EXISTS = new ErrorCode(2_001_031_000, "财务收入单不存在");
    ErrorCode FINANCE_IN_NO_EXISTS = new ErrorCode(2_001_031_001, "财务收入订单号已存在");

    // 财务支出模块
    ErrorCode FINANCE_OUT_NOT_EXISTS = new ErrorCode(2_001_032_000, "财务支出单不存在");

}